package cn.wolfcode.wolf2w.service.impl;

import cn.wolfcode.wolf2w.domain.Spot;

import cn.wolfcode.wolf2w.repository.SpotRepository;
import cn.wolfcode.wolf2w.service.ISpotService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 景点业务层的实现类
 */
@Service
public class SpotServiceImpl implements ISpotService {

    //  注入SpotRepository持久层接口
    @Autowired
    private SpotRepository spotRepository;

    //  插入单个方法
    @Override
    public void insert(Spot spot) {

        //  id自动生成，手动设置为空
        spot.setId(null);
        
            //  调用持久层接口的save方法执行插入单个目的地对象
            spotRepository.save(spot);

    }

    //  删除单个方法
    @Override
    public void deleteById(String id) {

        //  调用持久层接口的deleteById方法执行删除单个目的地对象
        spotRepository.deleteById(id);
    }

    //  修改单个方法
    @Override
    public void updateById(Spot spot) {

        //  调用持久层接口的save方法执行修改单个目的地对象
        spotRepository.save(spot);
    }

    //  查询单个方法
    @Override
    public Spot selectById(String id) {

        //  调用持久层接口的findById方法执行查询单个目的地对象
        return spotRepository.findById(id).orElse(null);
    }

    //  查询所有方法
    @Override
    public List<Spot> selectAll() {

        //  调用持久层接口的findAll方法执行查询所有目的地对象
        return spotRepository.findAll();
    }
    

}
